Typing text on small physical or virtual keyboards is difficult and can be frustrating for a user. Existing systems use input models such as touch models (e.g., hit-target resizing) and language models, spell correction, auto-completion, grammar collection, and other intelligence solutions to interpret the data entered by the user. To build accurate and comprehensive input models, significant input data from the user is required. For example, to build a touch model, user touch points are collected and compared to the intended character targets. To build a language model, word and grammar data is collected. Collecting such data to build the input models, however, can be time-consuming and burdensome for the user. With some existing systems, improving the data entry experience for the user occurs slowly over time as additional data is collected and processed.